import axios from 'axios'
import store from '@/store'
import {
  Message
} from 'element-ui' // 引入element-ui

const service = axios.create({
  baseURL: '/api',
  timeout: 600000, //超时时间
})

// 请求拦截器
// 成功执行第一个 ，失败执行第二个
service.interceptors.request.use(
  (config) => {
    // 注入token
    if (stroe.getters.token) {
      config.headers.Authorization = 'Bearer ${store.getters.token}'
    }
    return config
  }, (error) => {
    //失败
    return Promise.reject(error)
  })

//响应拦截器 todo 写个代码验证
service.interceptors.response.use(
  (response) => {
    const {
      data,
      message,
      success
    } = response.data
    if (success) {
      return data;
    }
    Message({
      type: 'error',
      message: message
    })
    return Promise.reject(new Error(message));
  },
  (error) => {
    // 消息
    Message({
      type: 'error',
      message: error.message
    })
    return Promise.reject(error)
  })

export default service
